This disclosure relates generally to optimization processes and, more particularly, to enhancing the performance of time-intensive optimization processes.
Optimization processes are widely used to develop operational strategies in a variety of settings. In many cases, the problem to be optimized cannot be completely controlled, and experiments are run on simulated problems. The simulations can be used to produce performance evaluations for the operational strategy at hand. In many instances, the simulations can be very complex, thereby requiring large amounts of time to evaluate the operational strategies being considered.
For example, in some instances, an appropriate optimization algorithm might take thousands of hours to reasonably explore the space of possible strategies and determine an optimal strategy. Various techniques have been used to reduce the run time of such time-intensive optimization processes. For example, in some cases, the model used to simulate the problem is simplified or the detail of the strategy evaluations is reduced. Although these techniques can improve the run time of the optimization process, they can also lead to suboptimal solutions of the optimization problem at hand.
Another approach is to utilize numerous processors performing calculations in parallel to reduce the amount of time required to explore the space of possible strategies and determine an optimal strategy. A drawback of this approach is that it can often be cost-prohibitive to utilize a sufficient number of processors to explore the solution space in a reasonable amount of time. Accordingly, additional search heuristics that can improve the performance of the optimization processes are desirable.